package com.dai.designpattern.prototype.practice.mold;

import com.dai.designpattern.prototype.practice.AbstractScene;
import com.dai.designpattern.prototype.practice.constant.SceneNameCode;

import java.util.LinkedList;
import java.util.regex.Pattern;

public class NumberReverseQueryScene extends AbstractScene {

    public NumberReverseQueryScene(SceneNameCode sceneNameCode) {
        super(sceneNameCode);
        init();
    }

    @Override
    public String deal(String userInput) {
        // TODO
        //  当前场景对用户输入的具体实现
        //  并返回结果
        return String.format("%s处理用户的输入内容%s\n", sceneNameCode.getName(), userInput);
    }


    /**
     * 初始化当前场景数据
     */
    @Override
    public void init() {
        // 初始化匹配内容
        matchWords = new LinkedList<>();
        //5个或5个以上数字，不含字母，非1非0开头号码
        matchWords.add(new SceneMatchWord(Pattern.compile("[2-9]\\d{4,}")));
        //5个或5个以上数字，不含字母，1开头号码
        matchWords.add(new SceneMatchWord(Pattern.compile("1\\d{4,}")));
    }
}
